]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Add level modifiers in JSON
authorAlan <alan@boum.org>
Wed, 2 Aug 2017 15:26:32 +0000 (15:26 +0000)
committerFlorian Müllner <florian.muellner@gmail.com>
Mon, 4 Mar 2019 20:55:15 +0000 (20:55 +0000)
This is needed because some layouts don't have an uppercase level.
That shouldn't make symbols the 2nd level.

cldr2json.py
test/data/fr.json

index 1a257469810fe2e3cb9e0b2e77fe510bda95734a..0d4fcc6d5604e9f7290c7fc4e63c13d85c1e1125 100755 (executable)
@@ -97,19 +97,21 @@ def convert_xml(tree):
     root["levels"] = []
     # parse levels
     for index, keymap in enumerate(tree.iter('keyMap')):
-        level = {}
-        root["levels"].append(level)
-        level["level"] = index + 1
         # FIXME: heuristics here
         modifiers = keymap.get('modifiers')
         if not modifiers:
             mode = 'default'
-        elif 'shift' in modifiers.split(' ') or 'lock' in modifiers.split(' '):
+            modifiers = ''
+        elif 'shift' in modifiers.split(' '):
             mode = 'latched'
+            modifiers = 'shift'
         else:
             mode = 'locked'
+        level = {}
+        level["level"] = modifiers
         level["mode"] = mode
         level["rows"] = parse_rows(keymap)
+        root["levels"].append(level)
     return root
 
 
index 2aeb674799dcfcada296a1c4eedec622d220e113..3a8949fe16269f5da7c7ca986f5b3e3c7890b992 100644 (file)
@@ -1,7 +1,7 @@
 {
   "levels": [
     {
-      "level": 1,
+      "level": "",
       "mode": "default",
       "rows": [
         [
       ]
     },
     {
-      "level": 2,
+      "level": "shift",
       "mode": "latched",
       "rows": [
         [
       ]
     },
     {
-      "level": 3,
+      "level": "opt",
       "mode": "locked",
       "rows": [
         [
       ]
     },
     {
-      "level": 4,
+      "level": "opt+shift",
       "mode": "locked",
       "rows": [
         [
   ],
   "locale": "fr",
   "name": "French"
-}
\ No newline at end of file
+}